/**
 * 
 */
package com.iuie.ns.frame.interceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;

/**
 * @description 支持跨域访问
 * <h2>拦截器使用说明</h2>
 * <p>发起请求,进入拦截器链，运行所有拦截器的preHandle方法，</p><P>
 * 1.当preHandle方法返回false时，从当前拦截器往回执行所有拦截器
 * 的afterCompletion方法，再退出拦截器链。</P><p>
 * 2.当preHandle方法全为true时，执行下一个拦截器,直到所有拦截器
 * 执行完。再运行被拦截的Controller。然后进入拦截器链，运行所有拦
 * 截器的postHandle方法,完后从最后一个拦截器往回执行所有拦截器的
 * afterCompletion方法.</P><p>
 * 当有拦截器抛出异常时,会从当前拦截器往回执行所有拦截器的afterCompletion方法
 * preHandle方法：返回true，映射处理器执行链将继续执行；当返回false时，
 * DispatcherServlet处理器认为拦截器已经处理完了请求，而不继续执行执行链中的
 * 其它拦截器和处理器。</p>
 * @author lj
 * @createTime 2016年9月9日 上午7:51:01
 */
public class CrossInterceptor extends HandlerInterceptorAdapter {

	@Override
	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
		System.out.println("执行拦截");
		response.addHeader("Access-Control-Allow-Origin","*");
        response.addHeader("Access-Control-Allow-Methods","*");
        response.addHeader("Access-Control-Max-Age","100");
        response.addHeader("Access-Control-Allow-Headers", "Content-Type");
        response.addHeader("Access-Control-Allow-Credentials","false");
		return super.preHandle(request, response, handler);
	}
}
